ZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtcmVncy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1yZWdzLmgKaW5kZXggMzE4ZGUyMi4uZWM5NGJhOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1yZWdzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1yZWdzLmgKQEAgLTYsMTEgKzYsMTEgQEAKICAqCiAgKi8KIAorI2RlZmluZSBJT19BRERSRVNTKHgpICgoeCkgfCBJTVhfSU9fQkFTRSkKKwogIyBpZm5kZWYgX19BU1NFTUJMWV9fCi0jICBkZWZpbmUgX19SRUcoeCkJKCooKHZvbGF0aWxlIHUzMiAqKSh4KSkpCi0jIGRlZmluZSBfX1JFRzIoeCx5KQlcCi0JKCBfX2J1aWx0aW5fY29uc3RhbnRfcCh5KSA/IChfX1JFRygoeCkgKyAoeSkpKSBcCi0JCQkgIDogKCoodm9sYXRpbGUgdTMyICopKCh1MzIpJl9fUkVHKHgpICsgKHkpKSkgKQorIyBkZWZpbmUgX19SRUcoeCkJKCooKHZvbGF0aWxlIHUzMiAqKUlPX0FERFJFU1MoeCkpKQorIyBkZWZpbmUgX19SRUcyKHgseSkgICAgICAgICgqKHZvbGF0aWxlIHUzMiAqKSgodTMyKSZfX1JFRyh4KSArICh5KSkpCiAjIGVsc2UKICMgIGRlZmluZSBfX1JFRyh4KSAoeCkKICMgIGRlZmluZSBfX1JFRzIoeCx5KSAoKHgpKyh5KSkKQEAgLTg3LDE0ICs4NywyMCBAQAogCiAvKiBQTEwgcmVnaXN0ZXJzICovCiAjZGVmaW5lIENTQ1IgICBfX1JFRyhJTVhfUExMX0JBU0UpICAgICAgICAvKiBDbG9jayBTb3VyY2UgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBDU0NSX1NQTExfUkVTVEFSVAkoMTw8MjIpCisjZGVmaW5lIENTQ1JfTVBMTF9SRVNUQVJUCSgxPDwyMSkKKyNkZWZpbmUgQ1NDUl9TWVNURU1fU0VMCQkoMTw8MTYpCisjZGVmaW5lIENTQ1JfQkNMS19ESVYJCSgweGY8PDEwKQorI2RlZmluZSBDU0NSX01QVV9QUkVTQwkJKDE8PDE1KQorI2RlZmluZSBDU0NSX1NQRU4JCSgxPDwxKQorI2RlZmluZSBDU0NSX01QRU4JCSgxPDwwKQorCiAjZGVmaW5lIE1QQ1RMMCBfX1JFRyhJTVhfUExMX0JBU0UgKyAweDQpICAvKiBNQ1UgUExMIENvbnRyb2wgUmVnaXN0ZXIgMCAqLwogI2RlZmluZSBNUENUTDEgX19SRUcoSU1YX1BMTF9CQVNFICsgMHg4KSAgLyogTUNVIFBMTCBhbmQgU3lzdGVtIENsb2NrIFJlZ2lzdGVyIDEgKi8KICNkZWZpbmUgU1BDVEwwIF9fUkVHKElNWF9QTExfQkFTRSArIDB4YykgIC8qIFN5c3RlbSBQTEwgQ29udHJvbCBSZWdpc3RlciAwICovCiAjZGVmaW5lIFNQQ1RMMSBfX1JFRyhJTVhfUExMX0JBU0UgKyAweDEwKSAvKiBTeXN0ZW0gUExMIENvbnRyb2wgUmVnaXN0ZXIgMSAqLwogI2RlZmluZSBQQ0RSICAgX19SRUcoSU1YX1BMTF9CQVNFICsgMHgyMCkgLyogUGVyaXBoZXJhbCBDbG9jayBEaXZpZGVyIFJlZ2lzdGVyICovCiAKLSNkZWZpbmUgQ1NDUl9NUExMX1JFU1RBUlQgKDE8PDIxKQotCiAvKgogICogIEdQSU8gTW9kdWxlIGFuZCBJL08gTXVsdGlwbGV4ZXIKICAqICB4ID0gMC4uMyBmb3IgcmVnX0EsIHJlZ19CLCByZWdfQywgcmVnX0QKQEAgLTExNyw5ICsxMjMsMTIgQEAKICNkZWZpbmUgU1dSKHgpICAgICBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4M2MsICgoeCkgJiAzKSA8PCA4KQogI2RlZmluZSBQVUVOKHgpICAgIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHg0MCwgKCh4KSAmIDMpIDw8IDgpCiAKKyNkZWZpbmUgR1BJT19QT1JUX01BWCAgMworCiAjZGVmaW5lIEdQSU9fUElOX01BU0sgMHgxZgogI2RlZmluZSBHUElPX1BPUlRfTUFTSyAoMHgzIDw8IDUpCiAKKyNkZWZpbmUgR1BJT19QT1JUX1NISUZUIDUKICNkZWZpbmUgR1BJT19QT1JUQSAoMDw8NSkKICNkZWZpbmUgR1BJT19QT1JUQiAoMTw8NSkKICNkZWZpbmUgR1BJT19QT1JUQyAoMjw8NSkKQEAgLTEzMiwyNCArMTQxLDM3IEBACiAjZGVmaW5lIEdQSU9fUEYgICAgKDA8PDkpCiAjZGVmaW5lIEdQSU9fQUYgICAgKDE8PDkpCiAKKyNkZWZpbmUgR1BJT19PQ1JfU0hJRlQgMTAKICNkZWZpbmUgR1BJT19PQ1JfTUFTSyAoMzw8MTApCiAjZGVmaW5lIEdQSU9fQUlOICAgKDA8PDEwKQogI2RlZmluZSBHUElPX0JJTiAgICgxPDwxMCkKICNkZWZpbmUgR1BJT19DSU4gICAoMjw8MTApCi0jZGVmaW5lIEdQSU9fR1BJTyAgKDM8PDEwKQorI2RlZmluZSBHUElPX0RSICAgICgzPDwxMCkKIAotI2RlZmluZSBHUElPX0FPVVQgICgxPDwxMikKLSNkZWZpbmUgR1BJT19CT1VUICAoMTw8MTMpCisjZGVmaW5lIEdQSU9fQU9VVF9TSElGVCAxMgorI2RlZmluZSBHUElPX0FPVVRfTUFTSyAoMzw8MTIpCisjZGVmaW5lIEdQSU9fQU9VVCAgICAgKDA8PDEyKQorI2RlZmluZSBHUElPX0FPVVRfSVNSICgxPDwxMikKKyNkZWZpbmUgR1BJT19BT1VUXzAgICAoMjw8MTIpCisjZGVmaW5lIEdQSU9fQU9VVF8xICAgKDM8PDEyKQorCisjZGVmaW5lIEdQSU9fQk9VVF9TSElGVCAxNAorI2RlZmluZSBHUElPX0JPVVRfTUFTSyAoMzw8MTQpCisjZGVmaW5lIEdQSU9fQk9VVCAgICAgICgwPDwxNCkKKyNkZWZpbmUgR1BJT19CT1VUX0lTUiAgKDE8PDE0KQorI2RlZmluZSBHUElPX0JPVVRfMCAgICAoMjw8MTQpCisjZGVmaW5lIEdQSU9fQk9VVF8xICAgICgzPDwxNCkKKworI2RlZmluZSBHUElPX0dJVVMgICAgICAoMTw8MTYpCiAKIC8qIGFzc2lnbmVtZW50cyBmb3IgR1BJTyBhbHRlcm5hdGUvcHJpbWFyeSBmdW5jdGlvbnMgKi8KIAogLyogRklYTUU6IFRoaXMgbGlzdCBpcyBub3QgY29tcGxldGVkLiBUaGUgY29ycmVjdCBkaXJlY3Rpb25zIGFyZQogICogbWlzc2luZyBvbiBzb21lIChtYW55KSBwaW5zCiAgKi8KLSNkZWZpbmUgUEEwX1BGX0EyNCAgICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDAgKQotI2RlZmluZSBQQTBfQUlOX1NQSTJfQ0xLICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMCApCisjZGVmaW5lIFBBMF9BSU5fU1BJMl9DTEsgICAgICggR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMCApCiAjZGVmaW5lIFBBMF9BRl9FVE1UUkFDRVNZTkMgICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAwICkKLSNkZWZpbmUgUEExX0FPVVRfU1BJMl9SWEQgICAgKCBHUElPX1BPUlRBIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDEgKQorI2RlZmluZSBQQTFfQU9VVF9TUEkyX1JYRCAgICAoIEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX0lOIHwgMSApCiAjZGVmaW5lIFBBMV9QRl9USU4gICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxICkKICNkZWZpbmUgUEEyX1BGX1BXTTAgICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMiApCiAjZGVmaW5lIFBBM19QRl9DU0lfTUNMSyAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzICkKQEAgLTE2Nyw3ICsxODksNyBAQAogI2RlZmluZSBQQTE1X1BGX0kyQ19TREEgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSApCiAjZGVmaW5lIFBBMTZfUEZfSTJDX1NDTCAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2ICkKICNkZWZpbmUgUEExN19BRl9FVE1UUkFDRVBLVDQgKCBHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE3ICkKLSNkZWZpbmUgUEExN19BSU5fU1BJMl9TUyAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19BSU4gfCAxNyApCisjZGVmaW5lIFBBMTdfQUlOX1NQSTJfU1MgICAgICggR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMTcgKQogI2RlZmluZSBQQTE4X0FGX0VUTVRSQUNFUEtUNSAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTggKQogI2RlZmluZSBQQTE5X0FGX0VUTVRSQUNFUEtUNiAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTkgKQogI2RlZmluZSBQQTIwX0FGX0VUTVRSQUNFUEtUNyAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjAgKQpAQCAtMTk2LDExICsyMTgsMTEgQEAKICNkZWZpbmUgUEI5X0FGX01TX1BJMSAgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19BRiB8IDkgKQogI2RlZmluZSBQQjEwX1BGX1NEX0RBVDIgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDEwICkKICNkZWZpbmUgUEIxMF9BRl9NU19TQ0xLSSAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEwICkKLSNkZWZpbmUgUEIxMV9QRl9TRF9EQVQzICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiAgfCAxMSApCisjZGVmaW5lIFBCMTFfUEZfU0RfREFUMyAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAxMSApCiAjZGVmaW5lIFBCMTFfQUZfTVNfU0RJTyAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMSApCi0jZGVmaW5lIFBCMTJfUEZfU0RfQ0xLICAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX09VVCB8IDEyICkKKyNkZWZpbmUgUEIxMl9QRl9TRF9DTEsgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IDEyICkKICNkZWZpbmUgUEIxMl9BRl9NU19TQ0xLMCAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEyICkKLSNkZWZpbmUgUEIxM19QRl9TRF9DTUQgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fT1VUIHwgR1BJT19QVUVOIHwgMTMgKQorI2RlZmluZSBQQjEzX1BGX1NEX0NNRCAgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOIHwgMTMgKQogI2RlZmluZSBQQjEzX0FGX01TX0JTICAgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTMgKQogI2RlZmluZSBQQjE0X0FGX1NTSV9SWEZTICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTQgKQogI2RlZmluZSBQQjE1X0FGX1NTSV9SWENMSyAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTUgKQpAQCAtMjM1LDE5ICsyNTcsMjcgQEAKICNkZWZpbmUgUEMxNV9QRl9TUEkxX1NTICAgICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE1ICkKICNkZWZpbmUgUEMxNl9QRl9TUEkxX01JU08gICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE2ICkKICNkZWZpbmUgUEMxN19QRl9TUEkxX01PU0kgICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE3ICkKKyNkZWZpbmUgUEMyNF9CSU5fVUFSVDNfUkkgICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI0ICkKKyNkZWZpbmUgUEMyNV9CSU5fVUFSVDNfRFNSICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI1ICkKKyNkZWZpbmUgUEMyNl9BT1VUX1VBUlQzX0RUUiAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI2ICkKKyNkZWZpbmUgUEMyN19CSU5fVUFSVDNfRENEICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI3ICkKKyNkZWZpbmUgUEMyOF9CSU5fVUFSVDNfQ1RTICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI4ICkKKyNkZWZpbmUgUEMyOV9BT1VUX1VBUlQzX1JUUyAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI5ICkKKyNkZWZpbmUgUEMzMF9CSU5fVUFSVDNfVFggICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19CSU4gfCAzMCApCisjZGVmaW5lIFBDMzFfQU9VVF9VQVJUM19SWCAgICggR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fSU4gfCAzMSkKICNkZWZpbmUgUEQ2X1BGX0xTQ0xLICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNiApCiAjZGVmaW5lIFBEN19QRl9SRVYgICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fUEYgfCA3ICkKLSNkZWZpbmUgUEQ3X0FGX1VBUlQyX0RUUiAgICAgKCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA3ICkKLSNkZWZpbmUgUEQ3X0FJTl9TUEkyX1NDTEsgICAgKCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA3ICkKKyNkZWZpbmUgUEQ3X0FGX1VBUlQyX0RUUiAgICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA3ICkKKyNkZWZpbmUgUEQ3X0FJTl9TUEkyX1NDTEsgICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA3ICkKICNkZWZpbmUgUEQ4X1BGX0NMUyAgICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19QRiB8IDggKQogI2RlZmluZSBQRDhfQUZfVUFSVDJfRENEICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA4ICkKLSNkZWZpbmUgUEQ4X0FJTl9TUEkyX1NTICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA4ICkKKyNkZWZpbmUgUEQ4X0FJTl9TUEkyX1NTICAgICAgKCBHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA4ICkKICNkZWZpbmUgUEQ5X1BGX1BTICAgICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19QRiB8IDkgKQogI2RlZmluZSBQRDlfQUZfVUFSVDJfUkkgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA5ICkKLSNkZWZpbmUgUEQ5X0FPVVRfU1BJMl9SWEQgICAgKCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDkgKQorI2RlZmluZSBQRDlfQU9VVF9TUEkyX1JYRCAgICAoIEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgOSApCiAjZGVmaW5lIFBEMTBfUEZfU1BMX1NQUiAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwICkKICNkZWZpbmUgUEQxMF9BRl9VQVJUMl9EU1IgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTAgKQotI2RlZmluZSBQRDEwX0FJTl9TUEkyX1RYRCAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMTAgKQorI2RlZmluZSBQRDEwX0FJTl9TUEkyX1RYRCAgICAoIEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IDEwICkKICNkZWZpbmUgUEQxMV9QRl9DT05UUkFTVCAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEgKQogI2RlZmluZSBQRDEyX1BGX0FDRF9PRSAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMiApCiAjZGVmaW5lIFBEMTNfUEZfTFBfSFNZTkMgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzICkKQEAgLTI2OSw3ICsyOTksMzEgQEAKICNkZWZpbmUgUEQyOV9QRl9MRDE0ICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjkgKQogI2RlZmluZSBQRDMwX1BGX0xEMTUgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCApCiAjZGVmaW5lIFBEMzFfUEZfVE1SMk9VVCAgICAgICggR1BJT19QT1JURCB8IEdQSU9fUEYgfCAzMSApCi0jZGVmaW5lIFBEMzFfQklOX1NQSTJfVFhEICAgICggR1BJT19QT1JURCB8IEdQSU9fQklOIHwgMzEgKQorI2RlZmluZSBQRDMxX0JJTl9TUEkyX1RYRCAgICAoIEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0JJTiB8IDMxICkKKworLyoKKyAqIFBXTSBjb250cm9sbGVyCisgKi8KKyNkZWZpbmUgUFdNQwlfX1JFRyhJTVhfUFdNX0JBU0UgKyAweDAwKQkvKiBQV00gQ29udHJvbCBSZWdpc3RlcgkJKi8KKyNkZWZpbmUgUFdNUwlfX1JFRyhJTVhfUFdNX0JBU0UgKyAweDA0KQkvKiBQV00gU2FtcGxlIFJlZ2lzdGVyCQkqLworI2RlZmluZSBQV01QCV9fUkVHKElNWF9QV01fQkFTRSArIDB4MDgpCS8qIFBXTSBQZXJpb2QgUmVnaXN0ZXIJCSovCisjZGVmaW5lIFBXTUNOVAlfX1JFRyhJTVhfUFdNX0JBU0UgKyAweDBDKQkvKiBQV00gQ291bnRlciBSZWdpc3RlcgkJKi8KKworI2RlZmluZSBQV01DX0hDVFIJCSgweDAxPDwxOCkJCS8qIEhhbGZ3b3JkIEZJRk8gRGF0YSBTd2FwcGluZwkqLworI2RlZmluZSBQV01DX0JDVFIJCSgweDAxPDwxNykJCS8qIEJ5dGUgRklGTyBEYXRhIFN3YXBwaW5nCSovCisjZGVmaW5lIFBXTUNfU1dSCQkoMHgwMTw8MTYpCQkvKiBTb2Z0d2FyZSBSZXNldAkJKi8KKyNkZWZpbmUgUFdNQ19DTEtTUkMJCSgweDAxPDwxNSkJCS8qIENsb2NrIFNvdXJjZQkJCSovCisjZGVmaW5lIFBXTUNfUFJFU0NBTEVSKHgpCSgoKHgtMSkgJiAweDdGKSA8PCA4KQkvKiBQUkVTQ0FMRVIJCQkqLworI2RlZmluZSBQV01DX0lSUQkJKDB4MDE8PCA3KQkJLyogSW50ZXJydXB0IFJlcXVlc3QJCSovCisjZGVmaW5lIFBXTUNfSVJRRU4JCSgweDAxPDwgNikJCS8qIEludGVycnVwdCBSZXF1ZXN0IEVuYWJsZQkqLworI2RlZmluZSBQV01DX0ZJRk9BVgkJKDB4MDE8PCA1KQkJLyogRklGTyBBdmFpbGFibGUJCSovCisjZGVmaW5lIFBXTUNfRU4JCQkoMHgwMTw8IDQpCQkvKiBFbmFibGVzL0Rpc2FibGVzIHRoZSBQV00JKi8KKyNkZWZpbmUgUFdNQ19SRVBFQVQoeCkJCSgoKHgpICYgMHgwMykgPDwgMikJLyogU2FtcGxlIFJlcGVhdHMJCSovCisjZGVmaW5lIFBXTUNfQ0xLU0VMKHgpCQkoKCh4KSAmIDB4MDMpIDw8IDApCS8qIENsb2NrIFNlbGVjdGlvbgkJKi8KKworI2RlZmluZSBQV01TX1NBTVBMRSh4KQkJKCh4KSAmIDB4RkZGRikJCS8qIENvbnRhaW5zIGEgdHdvLXNhbXBsZSB3b3JkCSovCisjZGVmaW5lIFBXTVBfUEVSSU9EKHgpCQkoKHgpICYgMHhGRkZGKQkJLyogUmVwcmVzZW50cyB0aGUgUFdNJ3MgcGVyaW9kCSovCisjZGVmaW5lIFBXTUNfQ09VTlRFUih4KQkJKCh4KSAmIDB4RkZGRikJCS8qIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgY291bnQgdmFsdWUJKi8KIAogLyoKICAqICBETUEgQ29udHJvbGxlcgpAQCAtMjkxLDcgKzM0NSw3IEBACiAjZGVmaW5lIFNBUih4KSAgX19SRUcyKCBJTVhfRE1BQ19CQVNFICsgMHg4MCwgKHgpIDw8IDYpCS8qIFNvdXJjZSBBZGRyZXNzIFJlZ2lzdGVycyAqLwogI2RlZmluZSBEQVIoeCkgIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4ODQsICh4KSA8PCA2KQkvKiBEZXN0aW5hdGlvbiBBZGRyZXNzIFJlZ2lzdGVycyAqLwogI2RlZmluZSBDTlRSKHgpIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4ODgsICh4KSA8PCA2KQkvKiBDb3VudCBSZWdpc3RlcnMgKi8KLSNkZWZpbmUgQ0NSKHgpICBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDhjLCAoeCkgPDwgNikJLyqgQ29udHJvbCBSZWdpc3RlcnMgKi8KKyNkZWZpbmUgQ0NSKHgpICBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDhjLCAoeCkgPDwgNikJLyogQ29udHJvbCBSZWdpc3RlcnMgKi8KICNkZWZpbmUgUlNTUih4KSBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDkwLCAoeCkgPDwgNikJLyogUmVxdWVzdCBzb3VyY2Ugc2VsZWN0IFJlZ2lzdGVycyAqLwogI2RlZmluZSBCTFIoeCkgIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4OTQsICh4KSA8PCA2KQkvKiBCdXJzdCBsZW5ndGggUmVnaXN0ZXJzICovCiAjZGVmaW5lIFJUT1IoeCkgX19SRUcyKCBJTVhfRE1BQ19CQVNFICsgMHg5OCwgKHgpIDw8IDYpCS8qIFJlcXVlc3QgdGltZW91dCBSZWdpc3RlcnMgKi8KQEAgLTQwMSw4ICs0NTUsMTEgQEAKICNkZWZpbmUgUE9TX1BPUyh4KSAgICAgICgoeCkgJiAxZikKIAogI2RlZmluZSBMQ0RDX0xTQ1IxCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgyOCkKLSNkZWZpbmUgTFNDUjFfR1JBWTEoeCkgICgoKHgpICYgMHhmKSA8PCA0KQotI2RlZmluZSBMU0NSMV9HUkFZMih4KSAgKCh4KSAmIDB4ZikKKyNkZWZpbmUgTFNDUjFfUFNfUklTRV9ERUxBWSh4KSAgICAoKCh4KSAmIDB4N2YpIDw8IDI2KQorI2RlZmluZSBMU0NSMV9DTFNfUklTRV9ERUxBWSh4KSAgICgoKHgpICYgMHgzZikgPDwgMTYpCisjZGVmaW5lIExTQ1IxX1JFVl9UT0dHTEVfREVMQVkoeCkgKCgoeCkgJiAweGYpIDw8IDgpCisjZGVmaW5lIExTQ1IxX0dSQVkyKHgpICAgICAgICAgICAgKCgoeCkgJiAweGYpIDw8IDQpCisjZGVmaW5lIExTQ1IxX0dSQVkxKHgpICAgICAgICAgICAgKCgoeCkgJiAweGYpKQogCiAjZGVmaW5lIExDRENfUFdNUglfX1JFRyhJTVhfTENEQ19CQVNFKzB4MkMpCiAjZGVmaW5lIFBXTVJfQ0xTKHgpICAgICAoKCh4KSAmIDB4MWZmKSA8PCAxNikKQEAgLTQ3OCw5ICs1MzUsOSBAQAogI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgxPDwyKQkgLyogVUFSVCBjbG9jayBlbmFibGVkICovCiAjZGVmaW5lICBVQ1IxX0RPWkUgICAgICAgKDE8PDEpCSAvKiBEb3plICovCiAjZGVmaW5lICBVQ1IxX1VBUlRFTiAgICAgKDE8PDApCSAvKiBVQVJUIGVuYWJsZWQgKi8KLSNkZWZpbmUgIFVDUjJfRVNDSSAgICAgCSAoMTw8MTUpIC8qIEVzY2FwZSBzZXEgaW50ZXJydXB0IGVuYWJsZSAqLwotI2RlZmluZSAgVUNSMl9JUlRTICAJICgxPDwxNCkgLyogSWdub3JlIFJUUyBwaW4gKi8KLSNkZWZpbmUgIFVDUjJfQ1RTQyAgCSAoMTw8MTMpIC8qIENUUyBwaW4gY29udHJvbCAqLworI2RlZmluZSAgVUNSMl9FU0NJCSAoMTw8MTUpIC8qIEVzY2FwZSBzZXEgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSAgVUNSMl9JUlRTCSAoMTw8MTQpIC8qIElnbm9yZSBSVFMgcGluICovCisjZGVmaW5lICBVQ1IyX0NUU0MJICgxPDwxMykgLyogQ1RTIHBpbiBjb250cm9sICovCiAjZGVmaW5lICBVQ1IyX0NUUyAgICAgICAgKDE8PDEyKSAvKiBDbGVhciB0byBzZW5kICovCiAjZGVmaW5lICBVQ1IyX0VTQ0VOICAgICAgKDE8PDExKSAvKiBFc2NhcGUgZW5hYmxlICovCiAjZGVmaW5lICBVQ1IyX1BSRU4gICAgICAgKDE8PDgpIC8qIFBhcml0eSBlbmFibGUgKi8KQEAgLTQ5MCw4ICs1NDcsOCBAQAogI2RlZmluZSAgVUNSMl9SVFNFTiAgICAgICgxPDw0KQkvKiBSZXF1ZXN0IHRvIHNlbmQgaW50ZXJydXB0IGVuYWJsZSAqLwogI2RlZmluZSAgVUNSMl9UWEVOICAgICAgICgxPDwyKQkvKiBUcmFuc21pdHRlciBlbmFibGVkICovCiAjZGVmaW5lICBVQ1IyX1JYRU4gICAgICAgKDE8PDEpCS8qIFJlY2VpdmVyIGVuYWJsZWQgKi8KLSNkZWZpbmUgIFVDUjJfU1JTVCAJICgxPDwwKQkvKiBTVyByZXNldCAqLwotI2RlZmluZSAgVUNSM19EVFJFTiAJICgxPDwxMykgLyogRFRSIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjJfU1JTVAkgKDE8PDApCS8qIFNXIHJlc2V0ICovCisjZGVmaW5lICBVQ1IzX0RUUkVOCSAoMTw8MTMpIC8qIERUUiBpbnRlcnJ1cHQgZW5hYmxlICovCiAjZGVmaW5lICBVQ1IzX1BBUkVSUkVOICAgKDE8PDEyKSAvKiBQYXJpdHkgZW5hYmxlICovCiAjZGVmaW5lICBVQ1IzX0ZSQUVSUkVOICAgKDE8PDExKSAvKiBGcmFtZSBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCiAjZGVmaW5lICBVQ1IzX0RTUiAgICAgICAgKDE8PDEwKSAvKiBEYXRhIHNldCByZWFkeSAqLwpAQCAtNTAxLDUxICs1NTgsNTEgQEAKICNkZWZpbmUgIFVDUjNfUlhEU0VOCSAoMTw8NikgIC8qIFJlY2VpdmUgc3RhdHVzIGludGVycnVwdCBlbmFibGUgKi8KICNkZWZpbmUgIFVDUjNfQUlSSU5URU4gICAoMTw8NSkgIC8qIEFzeW5jIElSIHdha2UgaW50ZXJydXB0IGVuYWJsZSAqLwogI2RlZmluZSAgVUNSM19BV0FLRU4JICgxPDw0KSAgLyogQXN5bmMgd2FrZSBpbnRlcnJ1cHQgZW5hYmxlICovCi0jZGVmaW5lICBVQ1IzX1JFRjI1IAkgKDE8PDMpICAvKiBSZWYgZnJlcSAyNSBNSHogKi8KLSNkZWZpbmUgIFVDUjNfUkVGMzAgCSAoMTw8MikgIC8qIFJlZiBGcmVxIDMwIE1IeiAqLwotI2RlZmluZSAgVUNSM19JTlZUICAJICgxPDwxKSAgLyogSW52ZXJ0ZWQgSW5mcmFyZWQgdHJhbnNtaXNzaW9uICovCi0jZGVmaW5lICBVQ1IzX0JQRU4gIAkgKDE8PDApICAvKiBQcmVzZXQgcmVnaXN0ZXJzIGVuYWJsZSAqLworI2RlZmluZSAgVUNSM19SRUYyNQkgKDE8PDMpICAvKiBSZWYgZnJlcSAyNSBNSHogKi8KKyNkZWZpbmUgIFVDUjNfUkVGMzAJICgxPDwyKSAgLyogUmVmIEZyZXEgMzAgTUh6ICovCisjZGVmaW5lICBVQ1IzX0lOVlQJICgxPDwxKSAgLyogSW52ZXJ0ZWQgSW5mcmFyZWQgdHJhbnNtaXNzaW9uICovCisjZGVmaW5lICBVQ1IzX0JQRU4JICgxPDwwKSAgLyogUHJlc2V0IHJlZ2lzdGVycyBlbmFibGUgKi8KICNkZWZpbmUgIFVDUjRfQ1RTVExfMzIgICAoMzI8PDEwKSAvKiBDVFMgdHJpZ2dlciBsZXZlbCAoMzIgY2hhcnMpICovCi0jZGVmaW5lICBVQ1I0X0lOVlIgIAkgKDE8PDkpICAvKiBJbnZlcnRlZCBpbmZyYXJlZCByZWNlcHRpb24gKi8KLSNkZWZpbmUgIFVDUjRfRU5JUkkgCSAoMTw8OCkgIC8qIFNlcmlhbCBpbmZyYXJlZCBpbnRlcnJ1cHQgZW5hYmxlICovCi0jZGVmaW5lICBVQ1I0X1dLRU4gIAkgKDE8PDcpICAvKiBXYWtlIGludGVycnVwdCBlbmFibGUgKi8KLSNkZWZpbmUgIFVDUjRfUkVGMTYgCSAoMTw8NikgIC8qIFJlZiBmcmVxIDE2IE1IeiAqLwotI2RlZmluZSAgVUNSNF9JUlNDICAJICgxPDw1KSAvKiBJUiBzcGVjaWFsIGNhc2UgKi8KLSNkZWZpbmUgIFVDUjRfVENFTiAgCSAoMTw8MykgLyogVHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0IGVuYWJsZSAqLwotI2RlZmluZSAgVUNSNF9CS0VOICAJICgxPDwyKSAvKiBCcmVhayBjb25kaXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLwotI2RlZmluZSAgVUNSNF9PUkVOICAJICgxPDwxKSAvKiBSZWNlaXZlciBvdmVycnVuIGludGVycnVwdCBlbmFibGUgKi8KLSNkZWZpbmUgIFVDUjRfRFJFTiAgCSAoMTw8MCkgLyogUmVjdiBkYXRhIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjRfSU5WUgkgKDE8PDkpICAvKiBJbnZlcnRlZCBpbmZyYXJlZCByZWNlcHRpb24gKi8KKyNkZWZpbmUgIFVDUjRfRU5JUkkJICgxPDw4KSAgLyogU2VyaWFsIGluZnJhcmVkIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjRfV0tFTgkgKDE8PDcpICAvKiBXYWtlIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjRfUkVGMTYJICgxPDw2KSAgLyogUmVmIGZyZXEgMTYgTUh6ICovCisjZGVmaW5lICBVQ1I0X0lSU0MJICgxPDw1KSAvKiBJUiBzcGVjaWFsIGNhc2UgKi8KKyNkZWZpbmUgIFVDUjRfVENFTgkgKDE8PDMpIC8qIFRyYW5zbWl0IGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjRfQktFTgkgKDE8PDIpIC8qIEJyZWFrIGNvbmRpdGlvbiBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lICBVQ1I0X09SRU4JICgxPDwxKSAvKiBSZWNlaXZlciBvdmVycnVuIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFVDUjRfRFJFTgkgKDE8PDApIC8qIFJlY3YgZGF0YSByZWFkeSBpbnRlcnJ1cHQgZW5hYmxlICovCiAjZGVmaW5lICBVRkNSX1JYVExfU0hGICAgMCAgICAgIC8qIFJlY2VpdmVyIHRyaWdnZXIgbGV2ZWwgc2hpZnQgKi8KICNkZWZpbmUgIFVGQ1JfUkZESVYgICAgICAoNzw8NykgLyogUmVmZXJlbmNlIGZyZXEgZGl2aWRlciBtYXNrICovCiAjZGVmaW5lICBVRkNSX1RYVExfU0hGICAgMTAgICAgIC8qIFRyYW5zbWl0dGVyIHRyaWdnZXIgbGV2ZWwgc2hpZnQgKi8KICNkZWZpbmUgIFVTUjFfUEFSSVRZRVJSICAoMTw8MTUpIC8qIFBhcml0eSBlcnJvciBpbnRlcnJ1cHQgZmxhZyAqLwotI2RlZmluZSAgVVNSMV9SVFNTICAJICgxPDwxNCkgLyogUlRTIHBpbiBzdGF0dXMgKi8KLSNkZWZpbmUgIFVTUjFfVFJEWSAgCSAoMTw8MTMpIC8qIFRyYW5zbWl0dGVyIHJlYWR5IGludGVycnVwdC9kbWEgZmxhZyAqLwotI2RlZmluZSAgVVNSMV9SVFNEICAJICgxPDwxMikgLyogUlRTIGRlbHRhICovCi0jZGVmaW5lICBVU1IxX0VTQ0YgIAkgKDE8PDExKSAvKiBFc2NhcGUgc2VxIGludGVycnVwdCBmbGFnICovCisjZGVmaW5lICBVU1IxX1JUU1MJICgxPDwxNCkgLyogUlRTIHBpbiBzdGF0dXMgKi8KKyNkZWZpbmUgIFVTUjFfVFJEWQkgKDE8PDEzKSAvKiBUcmFuc21pdHRlciByZWFkeSBpbnRlcnJ1cHQvZG1hIGZsYWcgKi8KKyNkZWZpbmUgIFVTUjFfUlRTRAkgKDE8PDEyKSAvKiBSVFMgZGVsdGEgKi8KKyNkZWZpbmUgIFVTUjFfRVNDRgkgKDE8PDExKSAvKiBFc2NhcGUgc2VxIGludGVycnVwdCBmbGFnICovCiAjZGVmaW5lICBVU1IxX0ZSQU1FUlIgICAgKDE8PDEwKSAvKiBGcmFtZSBlcnJvciBpbnRlcnJ1cHQgZmxhZyAqLwogI2RlZmluZSAgVVNSMV9SUkRZICAgICAgICgxPDw5KQkvKiBSZWNlaXZlciByZWFkeSBpbnRlcnJ1cHQvZG1hIGZsYWcgKi8KICNkZWZpbmUgIFVTUjFfVElNRU9VVCAgICAoMTw8NykJLyogUmVjZWl2ZSB0aW1lb3V0IGludGVycnVwdCBzdGF0dXMgKi8KLSNkZWZpbmUgIFVTUjFfUlhEUyAgCSAoMTw8NikJLyogUmVjZWl2ZXIgaWRsZSBpbnRlcnJ1cHQgZmxhZyAqLworI2RlZmluZSAgVVNSMV9SWERTCSAoMTw8NikJLyogUmVjZWl2ZXIgaWRsZSBpbnRlcnJ1cHQgZmxhZyAqLwogI2RlZmluZSAgVVNSMV9BSVJJTlQJICgxPDw1KQkvKiBBc3luYyBJUiB3YWtlIGludGVycnVwdCBmbGFnICovCi0jZGVmaW5lICBVU1IxX0FXQUtFIAkgKDE8PDQpCS8qIEF5c25jIHdha2UgaW50ZXJydXB0IGZsYWcgKi8KLSNkZWZpbmUgIFVTUjJfQURFVCAgCSAoMTw8MTUpIC8qIEF1dG8gYmF1ZCByYXRlIGRldGVjdCBjb21wbGV0ZSAqLwotI2RlZmluZSAgVVNSMl9UWEZFICAJICgxPDwxNCkgLyogVHJhbnNtaXQgYnVmZmVyIEZJRk8gZW1wdHkgKi8KLSNkZWZpbmUgIFVTUjJfRFRSRiAgCSAoMTw8MTMpIC8qIERUUiBlZGdlIGludGVycnVwdCBmbGFnICovCi0jZGVmaW5lICBVU1IyX0lETEUgIAkgKDE8PDEyKSAvKiBJZGxlIGNvbmRpdGlvbiAqLwotI2RlZmluZSAgVVNSMl9JUklOVCAJICgxPDw4KQkvKiBTZXJpYWwgaW5mcmFyZWQgaW50ZXJydXB0IGZsYWcgKi8KLSNkZWZpbmUgIFVTUjJfV0FLRSAgCSAoMTw8NykJLyogV2FrZSAqLwotI2RlZmluZSAgVVNSMl9SVFNGICAJICgxPDw0KQkvKiBSVFMgZWRnZSBpbnRlcnJ1cHQgZmxhZyAqLwotI2RlZmluZSAgVVNSMl9UWERDICAJICgxPDwzKQkvKiBUcmFuc21pdHRlciBjb21wbGV0ZSAqLwotI2RlZmluZSAgVVNSMl9CUkNEICAJICgxPDwyKQkvKiBCcmVhayBjb25kaXRpb24gKi8KKyNkZWZpbmUgIFVTUjFfQVdBS0UJICgxPDw0KQkvKiBBeXNuYyB3YWtlIGludGVycnVwdCBmbGFnICovCisjZGVmaW5lICBVU1IyX0FERVQJICgxPDwxNSkgLyogQXV0byBiYXVkIHJhdGUgZGV0ZWN0IGNvbXBsZXRlICovCisjZGVmaW5lICBVU1IyX1RYRkUJICgxPDwxNCkgLyogVHJhbnNtaXQgYnVmZmVyIEZJRk8gZW1wdHkgKi8KKyNkZWZpbmUgIFVTUjJfRFRSRgkgKDE8PDEzKSAvKiBEVFIgZWRnZSBpbnRlcnJ1cHQgZmxhZyAqLworI2RlZmluZSAgVVNSMl9JRExFCSAoMTw8MTIpIC8qIElkbGUgY29uZGl0aW9uICovCisjZGVmaW5lICBVU1IyX0lSSU5UCSAoMTw8OCkJLyogU2VyaWFsIGluZnJhcmVkIGludGVycnVwdCBmbGFnICovCisjZGVmaW5lICBVU1IyX1dBS0UJICgxPDw3KQkvKiBXYWtlICovCisjZGVmaW5lICBVU1IyX1JUU0YJICgxPDw0KQkvKiBSVFMgZWRnZSBpbnRlcnJ1cHQgZmxhZyAqLworI2RlZmluZSAgVVNSMl9UWERDCSAoMTw8MykJLyogVHJhbnNtaXR0ZXIgY29tcGxldGUgKi8KKyNkZWZpbmUgIFVTUjJfQlJDRAkgKDE8PDIpCS8qIEJyZWFrIGNvbmRpdGlvbiAqLwogI2RlZmluZSAgVVNSMl9PUkUgICAgICAgICgxPDwxKQkvKiBPdmVycnVuIGVycm9yICovCiAjZGVmaW5lICBVU1IyX1JEUiAgICAgICAgKDE8PDApCS8qIFJlY3YgZGF0YSByZWFkeSAqLwogI2RlZmluZSAgVVRTX0ZSQ1BFUlIJICgxPDwxMykgLyogRm9yY2UgcGFyaXR5IGVycm9yICovCiAjZGVmaW5lICBVVFNfTE9PUCAgICAgICAgKDE8PDEyKSAvKiBMb29wIHR4IGFuZCByeCAqLwogI2RlZmluZSAgVVRTX1RYRU1QVFkJICgxPDw2KQkvKiBUeEZJRk8gZW1wdHkgKi8KICNkZWZpbmUgIFVUU19SWEVNUFRZCSAoMTw8NSkJLyogUnhGSUZPIGVtcHR5ICovCi0jZGVmaW5lICBVVFNfVFhGVUxMIAkgKDE8PDQpCS8qIFR4RklGTyBmdWxsICovCi0jZGVmaW5lICBVVFNfUlhGVUxMIAkgKDE8PDMpCS8qIFJ4RklGTyBmdWxsICovCisjZGVmaW5lICBVVFNfVFhGVUxMCSAoMTw8NCkJLyogVHhGSUZPIGZ1bGwgKi8KKyNkZWZpbmUgIFVUU19SWEZVTEwJICgxPDwzKQkvKiBSeEZJRk8gZnVsbCAqLwogI2RlZmluZSAgVVRTX1NPRlRSU1QJICgxPDwwKQkvKiBTb2Z0d2FyZSByZXNldCAqLwogCiAvKiBHZW5lcmFsIHB1cnBvc2UgdGltZXJzIHJlZ2lzdGVycyAqLwo=